package com.xnewtech.xplatform.swan.dataSourceManage.modular.modname.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xnewtech.xplatform.swan.dataSourceManage.modular.modname.entity.DmDsSource;
import com.xnewtech.xplatform.swan.dataSourceManage.modular.modname.entity.DmDsSourceEnum;
import com.xnewtech.xplatform.swan.dataSourceManage.modular.modname.model.params.DmDsSourceParam;

import java.util.List;
import java.util.Map;

/**
 * (DmDsSource)表服务接口
 *
 * @author makejava
 * @since 2021-09-22 13:19:38
 */
public interface DmDsSourceService extends IService<DmDsSource> {

    /**
     * 新增数据
     *
     * @param dmDsSource 实例对象
     * @return 实例对象
     */
    DmDsSource insert(DmDsSource dmDsSource);


    /**
     * 删除数据
     *
     * @param id 对象id
     */
    void deleteById (Long id);

    /**
     * 修改数据
     *
     * @param umDsSource 实例对象
     * @return  实例对象
     */
    DmDsSource update(DmDsSource umDsSource);

    /**
     * 查询数据源
     *
     * @param dataType  数据源类型
     * @param dsName    数据源名称
     * @param pageNum   分页数
     * @param pageSize  分页大小
     * @return DmDsSource
     */
    List<Map<DmDsSource,DmDsSource>> select(DmDsSourceEnum dataType, String dsName, Integer pageNum, Integer pageSize);

    /**
     * 通过dsId批量删除数据源
     * @param dsId 多个dsId
     */
    Integer batchDelete(Integer[] dsId);

}
